package com.zgh.dict.service;

import com.xxg.base.module.Operater;
import com.xxg.base.module.Page;
import com.xxg.base.module.PageData;
import com.zgh.dict.module.DictData;
import com.zgh.dict.module.DictType;

import java.util.List;
import java.util.Map;

public interface IDictService {

	/**
	 * 用户中心
	 */
	//工会职工信息管理
	public static final String DICT_IDCARD_TYPE="身份证件类型";//1
	public static final String DICT_USER_STATUS="用户状态类型";//2
	public static  final String DICT_USER_ATTRIBUTES="用户属性类型";//3
	public static  final String DICT_SEX_TYPE="性别类型";//4
	public static  final String DICT_MARITAL_STATUS="婚姻状况类型";//5

	public static final String DICT_COUNTRY_TYPE="国籍类型";//6
	public static final String DICT_NATIONALITY_TYPE="民族类型";//7
	public static final String DICT_UCENCUS_TYPE="户籍类型";//8
	public static  final String DICT_FERTILITY_STATUS="生育类型";//9
	public static  final String DICT_POLITICAL_STATUS="政治面貌类型";//10

	public static  final String DICT_POST_STATUS="岗位状态类型";//11
	public static final String DICT_EDUCATION_TYPE="学历类型";//12
	public static final String DICT_TECHNOLOGY_LEVEL="技术等级类型";//13
	public static final String DICT_EMPLOYMENT_STATUS="就业状况类型";//14

	public static  final String DICT_USER_POSITION="用户职务类型";//15
	public static  final String DICT_JOB_TITLE="用户职称类型";//16
	public static  final String DICT_USER_RANK="用户职级类型";//51
	public static  final String DICT_EMPLOYEE_TYPE="用户职工类型";//17
	public static final String DICT_LAMOR_TYPE="劳模类型";//18
	public static final String DICT_LAMOR_STATUS="劳模状态类型";//19

	public static final String DICT_LAMOR_LEVEL="劳模级别类型";//20
	public static  final String DICT_AWATD_TYPE="获奖类型";//21
	public static  final String DICT_DIFFICULT_LEVEL="困难级别类型";//22
	public static  final String DICT_UNION_CADRE="工会干部类型";//23
    public static  final  String DICT_HEALTH_SATUS="健康状态";//33
	public static final String DICT_USER_DATA_SOURCE="用户数据来源";//55
	public static  final String DICT_USER_DEGREE_type="用户学位类";// 69

	//工会法人信息管理
	public static final String DICT_UNION_TYPE="工会类型";//24
	public static final String DICT_LEGAL_REPRESENTATIVE_DOCUMENT_TYPE="法人代表证件类型";//25
	public static final String DICT_UNIT_NATURE_TYPE="单位性质类别";//26
	public static  final String DICT_UNIT_OWN_INDUSTRY="单位所属行业类型";//27
	public static  final String DICT_ECONOMIC_TYPE="经济类型";//28
	public static final String DICT_WORKTER_HOME_START="职工之家星级";//35

	//工会工作人员信息管理
	public static  final String DICT_ATTEST_LEVEL="认证级别类型";//29

	//密码解锁
	public static final String DICT_LOCK_STATUS="密码锁定状态";//40
	public static final String DICT_UNLOCK_TYPE="解除锁定类型";//41

	//人工申述
	public static final String DICT_AUDIT_RESULTS="申述结果类型";//52
	//管理员信息
	public static final String DICT_ADMIN_TYPE="管理员类型";//53;
	public static  final String DICT_ADMIN_RANGE="管理范围类型";//54

	//征信管理
	public static final String DICT_FAIL_TIME="失效时间类型";//30
	public static final String DICT_CREDIT_STATUS="征信状态";//36
	public static final String DICT_LITIGANT_STATUS="当事人类型";//37
	public static final String DICT_LABOURUNION_PAPERWORK="法人证件类型";//38
	public static final String DICT_DATA_SOURCE="数据来源";//39

	//组织机构管理
	public static final String DICT_UNION_SERVICE_STATION="工会服务站类型";//31

	//征信类型
	public static final String DICT_AGING_TYPE="时效类型";//32
	public static final String DICT_AGING_TIME_SLOT="时效时间段";//34

	/**
	 * 权限管理
	 */

	//菜单管理
	public static final String DICT_MENU_ATTRIBUTE="菜单属性类型";//42
	public static final String DICT_MENU_TYPE="菜单类型";//43
	public static final String DICT_MENU_OPEN_TYPE="菜单打开方式";//45
	public static final String DICT_MENU_NET_TYPE ="菜单网络类型"; // 50

	//角色管理
	public static final String DICT_ROLE_OWN_TYPE="角色所属类型";//44
	public static final String DICT_ROLE_TYPE="角色类型";//46

    //数据权限范围
	public static final String DICT_DATA_POWER_SCOPE_BUSINESS="数据权限范围业务类";//47
	public static final String DICT_DATA_POWER_SCOPE_OFFICE="数据权限范围办公类";//48

	/**
	 * OA综合办公管理
	 */
	public static final String DICT_SPACE_SIZE="空间大小类型";//49

	/**
	 * 工会会员管理
	 */
    public static final String DICT_MEMBER_STATUS="会籍状态类型";//56会籍状态
	public static final String DICT_AUDIT_STATUS="审核状态类型";//57
	public static final String DICT_MEMBER_GRUOP="群体管理";//67 群体管理
	public static final String DICT_MEMBER_CHANGE="会籍变化类型";//70

	//从缓存直接获取
	public Map<String,String> mapDictData(String dictTypeName);
	public List<DictData> listDictData(String dictTypeName);
	public String getDataName(String dictTypeName, String dictDataCode);

	//操作数据库
	public List<DictType> listDictType(String dictTypeName);
	public DictData saveOrUpdateDictData(DictData dictData, Operater operater);
	public DictData getDictData(Long dictDataId);
	public Page<DictData> showDictDataPage(Page<DictData> page, Operater operater);
	public List<DictData>  listDictDataPage(Map<String, Object> params, PageData pageData, Operater operater);

}
